Systems and methods for programmatically grouping consumer devices into stable spatial clusters

ABSTRACT

Systems, apparatus, methods, and non-transitory media for programmatically grouping consumers are discussed herein. Some embodiments may include a point-of-sale system including a merchant device and one or more communication beacons. The communication beacons may be placed at locations of interest and may be configured to broadcast different beacon identifiers. Nearby consumer devices that receive the beacon identifier may be determined to be associated with a point-of-sale order and suitable point-of-sale functionality may be provided. In some embodiments, a peer consumer device may be selected as an ad hoc communication beacon for broadcasting a beacon identifier to other consumer devices.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of and priority to U.S.Nonprovisional application Ser. No. 16/816,072, titled “SYSTEMS ANDMETHODS FOR PROGRAMMATICALLY GROUPING CONSUMER DEVICES INTO STABLESPATIAL CLUSTERS,” filed Mar. 11, 2020, which claims the benefit of andpriority to U.S. Nonprovisional application Ser. No. 14/495,754, titled“Systems And Methods For Programmatically Grouping Consumers,” filedSep. 24, 2014, which claims the benefit of and priority to U.S.Provisional Patent Application No. 61/883,846, titled “Systems andMethods for Programmatically Grouping Consumers,” filed Sep. 27, 2013,each of which is incorporated by reference in its entirety.

FIELD

Embodiments of the invention relate, generally, to techniques forproviding point-of-sale functionality to groups of consumers.

BACKGROUND

Merchants provide products, services, or experiences to consumers atmerchant shops via point-of-sale systems. Some merchants (e.g., asdine-in restaurants) may serve multiple groups of consumers at a singletime (e.g., groups associated with a table, check, order, party, etc.).In this regard, areas for improving current systems have beenidentified.

BRIEF SUMMARY

Through applied effort, ingenuity, and innovation, solutions to improvesuch systems have been realized and are described herein. Someembodiments may provide for a system configured to programmaticallygroup consumers. For example, the system may include a communicationbeacon and a merchant device. The communication beacon may be configuredto broadcast a beacon identifier via a wireless personal area network(PAN) to consumer devices located within a direct wireless communicablerange of the communication beacon. The merchant device may includecommunication circuitry and processing circuitry. The communicationcircuitry configured to connect with a server via a network connectionseparate from the wireless PAN. The processing circuitry may beconfigured to: receive an indication that a consumer device received thebeacon identifier broadcast by the communication beacon, wherein theindication is received from at least one of the consumer device, thecommunication beacon, and the server; in response to receiving theindication that the consumer device received the beacon identifier:identify, based on communication with the server via the network, aconsumer account record associated with the consumer device; create apoint-of-sale order when the beacon identifier fails to be associatedwith an existing point-of-sale order; and associate the consumer accountrecord with the point-of-sale order.

In some embodiments, the processing circuitry may be further configuredto: determine a transaction price for the point-of-sale order; determinewhether the consumer device has failed to be within a communicable rangeof the wireless PAN for a predetermined period of time; and in responseto determining that the consumer device has failed to be within thecommunicable range of the wireless PAN for the predetermined period oftime, facilitate a payment for a at least a portion of the transactionprice by the consumer account record associated with the consumerdevice.

In some embodiments, the processing circuitry may be further configuredto associate the beacon identifier with a location of the communicationbeacon.

In some embodiments, the communication beacon configured to broadcastthe beacon identifier via the wireless PAN may include the communicationbeacon being configured to utilize a Bluetooth standard. In someembodiments, the merchant device may include the communication beacon.

In some embodiments, the processing circuitry may be further configuredto receive an indication that the consumer device has maintained awireless PAN connection with the communication beacon for apredetermined period of time before associating the consumer accountrecord with the point-of-sale order.

In some embodiments, the processing circuitry may be further configuredto determine the consumer device as being nearer to the communicationbeacon than one or more other communication beacons before associatingthe consumer account record with the point-of-sale order.

In some embodiments, the processing circuitry is further configured to:receive, from a second consumer device, an indication that the secondconsumer device received a second beacon identifier from a secondcommunication beacon, wherein the second beacon identifier is differentfrom the beacon identifier; identify a second consumer account recordassociated with the second consumer device; create a point-of-sale orderwhen the beacon identifier fails to be associated with an existingpoint-of-sale order; and in response to receiving the indication thatthe second consumer device received the second beacon identifier,associate the second consumer account record with a second point-of-saleorder.

In some embodiments, the processing circuitry may be further configuredto: receive, from a second consumer device, an indication that thesecond consumer device received the beacon identifier from thecommunication beacon; determine whether a point-of-sale order has beenassociated with the beacon identifier; identify a second consumeraccount record associated with the second consumer device; and inresponse to determining that the point-of-sale order has been associatedwith the beacon identifier, associate the second consumer account recordwith the point-of-sale order.

In some embodiments, the communication beacon may be a second consumerdevice. The system may further include a root beacon configured todetect consumer devices within a communicable range of the root beacon.The second consumer device may be further configured to broadcast thebeacon identifier after being detected by the root beacon. In someembodiments, the merchant device may include the root beacon. In someembodiments, the processing circuitry may be further configured to:receive location data from consumer devices indicating the location ofthe consumer devices; identify a stable spatial cluster of consumerdevices based on the location data; identify consumer account recordsassociated with the stable spatial cluster of consumer devices; andassociate the consumer account records with the point-of-sale order.

Some embodiments may provide for a machine-implemented method forprogrammatically grouping consumers. The method may include: receiving,by processing circuitry of a merchant device, an indication that aconsumer device received a beacon identifier from a communicationbeacon, wherein: the communication beacon is configured to broadcast thebeacon identifier via a wireless personal area network (PAN) to consumerdevices located within a direct wireless communicable range of thecommunication beacon; and the indication is received from at least oneof the consumer device, the communication beacon, and a server; inresponse to receiving the indication that the consumer device receivedthe beacon identifier, and by the processing circuitry: identifying,based on communication with the server via a network separate from thewireless PAN, a consumer account record associated with the consumerdevice; creating a point-of-sale order when the beacon identifier failsto be associated with an existing point-of-sale order; and associatingthe consumer account record with the point-of-sale order.

In some embodiments, the method may further include, by the processingcircuitry: determining a transaction price for the point-of-sale order;determining whether the consumer device has failed to be within thecommunicable range of the wireless PAN for a predetermined period oftime; and in response to determining that the consumer device has failedto be within the communicable range of the wireless PAN for thepredetermined period of time, facilitating a payment for a at least aportion of the transaction price by the consumer account recordassociated with the consumer device.

In some embodiments, the method may further include, by the processingcircuitry, associating the beacon identifier with a location of thecommunication beacon.

In some embodiments, the communication beacon configured to broadcastthe beacon identifier via the wireless PAN may include the communicationbeacon being configured to utilize a Bluetooth standard.

In some embodiments, the method may further include, by the processingcircuitry, receiving an indication that the consumer device hasmaintained the wireless PAN connection with the communication beacon fora predetermined period of time before associating the consumer accountrecord with the point-of-sale order.

In some embodiments, the method may further include, by the processingcircuitry, determining the consumer device as being nearer to thecommunication beacon than one or more other communication beacons beforeassociating the consumer account record with the point-of-sale order.

In some embodiments, the method may further include, by the processingcircuitry: detecting consumer devices within a communicable range of aroot beacon; and providing a beacon identifier to a consumer devicedetected by the root beacon.

In some embodiments, the method may further include, by the processingcircuitry: comprising, by the processing circuitry: receiving locationdata from consumer devices indicating location of the consumer devices;identifying a stable spatial cluster of consumer devices based on thelocation data; identifying consumer account records associated with thestable spatial cluster of consumer devices; and associating the consumeraccount records with the point-of-sale order.

Some embodiments may include circuitry and/or media configured toimplement the methods and/or other functionality discussed herein. Forexample, one or more processors, and/or other machine components may beconfigured to implement the functionality discussed herein based oninstructions and/or other data stored in memory and/or othernon-transitory computer readable media.

These characteristics as well as additional features, functions, anddetails of various embodiments are described below. Similarly,corresponding and additional embodiments are also described below.

BRIEF DESCRIPTION OF THE DRAWINGS

Having thus described some embodiments in general terms, reference willnow be made to the accompanying drawings, which are not necessarilydrawn to scale, and wherein:

FIG. 1 shows an example system, in accordance with some embodiments;

FIG. 2 shows an example point-of-sale system including communicationbeacons, in accordance with some embodiments;

FIG. 3 shows an example point-of-sale system including consumer devicecommunication beacons, in accordance with some embodiments;

FIG. 4 shows example circuitry in accordance with some embodiments;

FIG. 5 shows an example of a method for programmatically groupingconsumers, in accordance with some embodiments;

FIG. 6 shows an example of a method for programmatically groupingconsumers based on peer-to-peer consumer devices, in accordance withsome embodiments;

FIG. 7 shows an example of a method for programmatically groupingconsumers based on location, in accordance with some embodiments;

FIG. 8 shows an example of a method for facilitating a financialtransaction, in accordance with some embodiments;

FIG. 9 shows a floor plan of an example restaurant including apoint-of-sale system, in accordance with some embodiments;

FIG. 10 shows an example of a method for facilitating shared payment fora point-of-sale order, in accordance with some embodiments;

FIG. 11 shows an example redeemable promotion display, in accordancewith some embodiments;

FIG. 12 shows an example promotion detail display, in accordance withsome embodiments;

FIG. 13 shows an example promotion instrument display, in accordancewith some embodiments;

FIG. 14 shows an example split-the-bill display, in accordance with someembodiments; and

FIG. 15 shows an example split-the-bill display, in accordance with someembodiments.

DETAILED DESCRIPTION

Embodiments will be described more fully hereinafter with reference tothe accompanying drawings, in which some, but not all embodimentscontemplated herein are shown. Indeed, various embodiments may beimplemented in many different forms and should not be construed aslimited to the embodiments set forth herein; rather, these embodimentsare provided so that this disclosure will satisfy applicable legalrequirements. Like numbers refer to like elements throughout.

As used herein, the terms “data,” “content,” “information” and similarterms may be used interchangeably to refer to data capable of beingcaptured, transmitted, received, displayed and/or stored in accordancewith various example embodiments. Thus, use of any such terms should notbe taken to limit the spirit and scope of the disclosure. Further, wherea device is described herein to receive data from another device, itwill be appreciated that the data may be received directly from theanother device or may be received indirectly via one or moreintermediary devices, such as, for example, one or more servers, relays,routers, network access points, base stations, and/or the like,sometimes referred to herein as a “network.” Similarly, where a deviceis described herein to send data to another device, it will beappreciated that the data may be sent directly to the another device ormay be sent indirectly via one or more intermediary devices, such as,for example, one or more servers, relays, routers, network accesspoints, base stations, and/or the like.

As used herein, the term “method” refers to one or more steps that maybe performed by a device, apparatus, system, circuitry, one or moreprocessors, or the like. Where an example method is shown as includingmore than one step, it will be appreciated that the steps may beperformed in different orders than as shown in the example and that notall steps are necessarily required. Furthermore, the methods aredescribed herein as being performed by example structures for clarityand are not limited to those structures (e.g., a particular server,device, apparatus, etc.) in some embodiments.

Methods, systems, apparatus and computer program products describedherein may be operable for programmatically grouping consumers. Forexample, some embodiments may provide for a point-of-sale system inwhich consumers carrying consumer devices may be programmaticallyassociated with an appropriate point-of-sale order. When deployed at adine-in restaurant, for example, the point-of-sale system may allowconsumers to simply take seats while providing for point-of-sale ordercreation, adding menu items to the order, matching orders to locations(e.g., tables, seats, and/or other dine-in locations), facilitatingdine-in service, determining a total transaction price, and/orfacilitating financial transactions (e.g., including promotionredemptions, tax, tip, etc.).

In some embodiments, the point-of-sale system may include a merchantdevice and one or more communication beacons. The communication beaconsmay be placed at locations of interest (e.g., at a merchant shop) andmay be configured to broadcast different beacon identifiers. Forexample, multiple communication beacons may be placed within a dine-inrestaurant (e.g., at each table) to form a mesh of signal coveragewithin the merchant shop. Nearby consumer devices that receive a beaconidentifier from the same communication beacon may be determined to beassociated with a common point-of-sale order and suitable point-of-salefunctionality may be provided (e.g., associated consumers may be servedas a dine-in party). Where consumer devices receive multiple beaconidentifiers, the appropriate beacon identifier may be determined basedon signal strength of the communications between the consumer device andeach communication beacon.

In some embodiments, a peer consumer device may be selected (e.g., bythe consumer and/or merchant device) as an ad hoc communication beaconfor broadcasting a beacon identifier to other consumer devices. Here,the costs of dedicated communication beacons within a merchant shop maybe avoided. For example, other consumer devices that are near a selectedconsumer device communication beacon may be associated with a commonpoint-of-sale order. In some embodiments, multiple consumer devicecommunication beacons may be used and selected by location to form an adhoc mesh of signal coverage within a merchant shop. In some embodiments,consumer device communication beacons and associated consumer device(s)groups may be programmatically determined based on identifying spatiallystable clusters of consumer devices over time (e.g., indicating that agroup of consumers have taken a seat at a table). Here, a spatiallystable cluster may be associated with a point-of-sale order.

Some embodiments may further provide for techniques for providingenhanced consumer service after consumers have been programmaticallyassociated with a point-of-sale order. For example, the point-of-salesystem may be configured to facilitate payments on behalf of consumersbased on stored payment data associated with consumer accounts. In someembodiments, the consumer account may be provided by a central systemthat may be further configured to provide (e.g., secured) paymentservices, among other things (e.g., promotional messages, promotionredemptions, etc.).

Exemplary System Architecture

FIG. 1 shows an example system 100 in accordance with some embodiments.System 100 may include promotion and marketing system 102 (or “system102”), network 104, consumer device 106, and point-of-sale system 108.System 102 may be communicably connected with consumer device 106 andpoint-of-sale system 108 via network 104.

Point-of-sale system 108 may include merchant device 114 andcommunication beacon 116. Point-of-sale system 108 may be associatedwith a merchant and may be located at a merchant shop. A “merchant,” asused herein may include, but is not limited to, a promotion provider,business owner, consigner, shopkeeper, tradesperson, vender, operator,entrepreneur, agent, dealer, organization or the like that is in thebusiness of a providing a good, service or experience to a consumer,facilitating the provision of a good, service or experience to aconsumer and/or otherwise operating in the stream of commerce. Forexample, a merchant may take the form of a running company that sellsattire that is generally used by a person who runs or participates inathletic activities. Although a single merchant device 114 andcommunication beacon 116 are shown, point-of-sale system 108 may includeany number of merchant devices and/or communication beacons. In someembodiments, system 100 may further include multiple point-of-salesystems 108 that may be associated with various other merchants and/ormerchant shops. In some embodiments, merchant device 114 may beconfigured to provide point-of-sale (POS) functionality for themerchant. Furthermore, merchant device 114 may be a stationary and/ormobile device. In some embodiments, merchant device 114 and/orcommunication beacon 116 may include circuitry configured toprogrammatically perform some or all of the methods discussed herein,such as methods 500-800 shown in FIGS. 5-8, respectively.

In some embodiments, system 100 may further include promotion andmarketing system 102, which may further include server 110 and database112. In some embodiments, system 102 may be configured to provide apromotion and marketing service that is accessible via one or moreconsumer devices and is operable to provide example promotion and/ormarketing services on behalf of one or more merchants and/or providersthat are offering one or more instruments that are redeemable for goods,services, experiences and/or the like. The promotion and marketingservice maybe further be configured to illustrate or otherwise informone or more consumers of the availability of one or more instruments inthe form of one or more impressions. In some examples, the promotion andmarketing service may also take the form of a redemption authority, apayment processor, a rewards provider, an entity in a financial network,a promoter, an agent and/or the like. As such, the service is, in someexample embodiments, configured to present one or more promotions viaone or more impressions, accept payments for promotions from consumers,issue instruments upon acceptance of an offer, participate inredemption, generate rewards, provide a point of sale device or service,issue payments to providers and/or or otherwise participate in theexchange of goods, services or experiences for currency, value and/orthe like. Server 110 may include circuitry, networked processors, etc.configured to perform some or all of the server-based processesdescribed herein and may be any suitable network server and/or othertype of processing device. For example, server 110 may be configured toprovide consumer accounts (e.g., including associated payment accountsof consumers that may be used with point-of-sale system 108), provideimpressions or other advertising messages to consumer devices 108,and/or facilitate the offer, purchase, and/or redemption (e.g., at themerchant shop) of promotions. In some embodiments, system 102 mayfunction as a “cloud” with respect to the consumer device 106 and/orpoint-of-sale system 108. In that sense, server 110 may include severalservers performing interconnected and/or distributed functions. To avoidunnecessarily overcomplicating the disclosure, server 110 is shown anddescribed herein as a single server.

In some embodiments, system 102 may be configured to receive promotiondata indicating a promotion for goods and/or services and/or one or moreparameters of the promotion (e.g., target audience, timing, purchasevalue, promotional value, residual value, etc.). System 102 may thengenerate and/or provide one or more impressions for the promotion toconsumer device 102. A “promotion,” as used herein, may include, but isnot limited to, any type of offered, presented or otherwise indicatedreward, discount, coupon, credit, deal, incentive, discount, media orthe like that is indicative of a promotional value or the like that uponpurchase or acceptance results in the issuance of an instrument that maybe used toward at least a portion of the purchase of particular goods,services and/or experiences defined by the promotion. In someembodiments, a promotion (e.g., promotion data) may define an acceptedvalue (e.g., a cost to purchase the promotion), a promotional value(e.g., the value of the resultant instrument beyond the accepted value),a redemption value (e.g., the value of the resultant instrumentincluding the accepted value and the promotional value), a residualvalue (e.g., the value upon return or upon expiry of one or moreredemption parameters), one or more redemptions parameters and/or thelike. An “impression,” as used herein, may include a communication, adisplay, or other perceived indication, such as a flyer, print media,e-mail, text message, application alert, mobile applications, other typeof electronic interface or distribution channel and/or the like, of oneor more promotions. An “instrument,” as used herein, may include, but isnot limited to, any type of gift card, tender, electronic certificate,medium of exchange, voucher, or the like that embodies the terms of thepromotion from which the instrument resulted and may be used toward atleast a portion of the purchase, acquisition, procurement, consumptionor the like of goods, services and/or experiences. In some examples, theinstrument may take the form of tender that has a given value that isexchangeable for goods, services and/or experiences and/or a reductionin a purchase price of a particular good, service or experience.

Database 112 may be any suitable network storage device. For example,database 112 may be configured to store promotion data (e.g., attributesof promotion), consumer data (e.g., attributes of the consumer such asprofile information, preferences, purchase history, consumer behavior,payment accounts, among other things), and/or purchase transaction data(e.g., payment account information, credit card information, paymentinformation, billing address, payment account information, among otherthings). As such, database 112 may include, for example, one or moredatabase systems, backend data servers, network databases, cloud storagedevices, etc. To avoid unnecessarily overcomplicating the disclosure,database 112 is shown and described herein as a single database.

Network 104 may include one or more wired and/or wireless communicationnetworks including, for example, a wired or wireless local area network(LAN), personal area network (PAN), metropolitan area network (MAN),wide area network (WAN), or the like, as well as any hardware, softwareand/or firmware for implementing the one or more networks (such as,e.g., network routers, switches, hubs, etc.). For example, network 104may include a cellular telephone, mobile broadband, long term evolution(LTE), GSM/EDGE, UMTS/HSPA, IEEE 802.11, IEEE 802.16, IEEE 802.20, WiFi,dial-up, and/or WiMax network. Furthermore, network 104 may include apublic network, such as the Internet, a private network, such as anintranet, or combinations thereof, and may utilize a variety ofnetworking protocols now available or later developed including, but notlimited to TCP/IP based networking protocols.

Consumer device 106 may be associated with a consumer, such as aconsumer with a consumer account provided by system 102. Although asingle consumer device 106 is shown, system 100 may include any numberof consumer devices that may be associated with various other consumers.Consumer device 106 may be a mobile device and/or a stationary device(e.g., home computer). For example, consumer device 106 may be a mobiledevice such as a cellular telephone (including smartphones and/or othertypes of mobile telephones), laptop, tablet, electronic reader, e-bookdevice, media device, and/or the like.

In some embodiments, consumer device 106 may be configured tocommunicate with point-of-sale system 108 via connection 118. Forexample, merchant device 114 and/or communication beacon 116 may beconfigured to broadcast a beacon identifier via a wireless personal areanetwork (PAN). In some embodiments, consumer device 106 may beconfigured to communicate with point-of-sale system 108 via the wirelessPAN when consumer device 106 is within a communicable range of thewireless PAN. For example, communication beacon 116 may be configured toutilize a Bluetooth standard for the wireless communication such thatBluetooth-enable consumer devices 106 may wirelessly connect withcommunication beacon 116 upon coming within communicable range ofcommunication beacon 116. The communicable range of communication beaconmay be configured to be of a range that is suitable for low power (e.g.,less than 2.5 mW), high resolution distance determination within amerchant shop and/or a portion of the merchant shop. For example, thecommunicable range of the communication beacon using a Bluetoothstandard can be within 1-10 meters, or any other suitable short range(e.g., 2, 3, 4 . . . 10, 11, etc. meters). In some embodiments, thecommunicable range may be configured based on the dimensions, layout,and/or other needs of a merchant shop.

FIG. 2 shows an example point-of-sale system 200 including one or morecommunication beacons, in accordance with some embodiments.Point-of-sale system 200 may be deployed at a merchant shop, which insome examples, may be a dine-in restaurant. Point-of-sale system 200 mayinclude merchant device 202 and communication beacons 204, 206, and 208.Communication beacons 204, 206, and 208 may be each located at locationsof interest within the merchant shop. Here, for example, eachcommunication beacon may be located at and/or near a dine-in location,such as a table 208, thereby forming a mesh of signal coverage withinthe dine-in locations. The communication beacons may be each configuredto broadcast a beacon identifier via a wireless PAN, such as wirelessPAN 210 for communication beacon 204. The “beacon identifier,” as usedherein, may refer to any type of data that may be used to uniquelyidentify communication beacons from each other. In some embodiments, abeacon identifier may include a unique identification number (i.e., aunique ID, a serial number, etc.), or may be based at least partiallyon, a random or pseudorandom code.

As discussed in greater detail with respect to method 500 shown in FIG.5, merchant device 202 may be configured to group consumers based onconsumer devices being within a proximity to a communication beacon. Forexample, consumer devices 212, 214 and 216 may be associated with apoint-of-sale order based on the consumer devices being nearcommunication beacon 204 (e.g., within wireless PAN 210). In anotherexample, consumer device 218 may be associated with a differentpoint-of-sale order based on consumer device 218 being near (or nearerto) communication beacon 206. In some embodiments, the distance betweena consumer device and a beacon may be determined based on the signalstrength of communication signals between the consumer device and thebeacon.

FIG. 3 shows an example point-of-sale system including consumer devicecommunication beacons, in accordance with some embodiments. Consumerdevices may be configured to behave as communication beacons for other(e.g., peer) consumer devices. Point-of-sale system 300 may includemerchant device 302. In some embodiments, merchant device 302 mayinclude a root beacon configured to detect consumer devices within acommunicable range of the root beacon. For example, the root beacon maybe configured to broadcast a root beacon identifier via wireless PAN304. In some embodiments, the root beacon and/or merchant device may belocated at and/or near an entrance of the merchant shop such that eachconsumer devices that enters the merchant shop will come withincommunicable range of wireless PAN 304. In some embodiments, the rootbeacon may be a communication beacon where the merchant device isconfigured to use the beacon identifier as a root beacon identifier.

Subsequent to a consumer device (e.g., consumer device 306) beingdetected by the root beacon and/or receiving the root beacon identifier,the consumer device may be configured to facilitate the formation of adhoc mesh of communications beacons for other consumer devices. Forexample, consumer devices 306, 314, and 316 may be each configured tobroadcast a (e.g., different) beacon identifier via wireless PAN, suchas wireless PAN 308 for consumer device 306. Merchant device 302 may befurther configured to generate a point-of-sale order and associateconsumer device 306 and/or a consumer account with the point-of-saleorder. Consumer devices 310 and 312 may be associated with thepoint-of-sale order based on consumer device 212 being near consumerdevice 306 (e.g., within wireless PAN 308). Additional techniques forgrouping consumers based on peer-to-peer consumer device communicationbeacons are discussed in connection with method 600 shown in FIG. 6.

In some embodiments, a point-of-sale system may be configured tomitigate for signal reflections, signal barriers and/or other physicalcharacteristics of a merchant shop and/or layout that may distort therelationship between signal strength and distance for the communicationsignals between consumer devices and beacons. In one example, anenvironmental audit may be performed with stationary communicationbeacons located as they would in deployment (e.g., at tables and/orother locations of interest). A consumer device and/or other (e.g.,Bluetooth) reader may then be brought to a sampling of locations (e.g.,each location) within the merchant shop. At each location, a set ofsignal strengths of the communication signals between the reader andeach communication beacon within communicable range may be determined.Next, the set of signal strengths may be associated with or mapped tothe applicable location of interest, such as to the table within themerchant shop that is associated with the location of the set of signalstrengths. Accordingly, baseline signal strengths necessary fortriangulation can be flexibly determined for any merchant shop and/orcommunication beacon layout. Additionally or alternatively, in someembodiments, the point-of-sale system may use a Guassian Process LatentVariable Model (GP-LVM) to programmatically determine the mappingsbetween physical locations and raw signal strength data at eachcommunication beacon.

FIG. 4 shows a schematic block diagram of example circuitry 400, some orall of which may be included in point-of-sale system 108, merchantdevice 114, communication beacon 116, system 102, server 110, database112, and/or consumer device 106. In accordance with some exampleembodiments, circuitry 400 may include various means, such as one ormore processors 402, memories 404, communications modules 406, and/orinput/output modules 408.

In some embodiments, such as when circuitry 400 is included in merchantdevice 114, point-of-sale module 410 may also or instead be included. Asreferred to herein, “module” includes hardware, software and/or firmwareconfigured to perform one or more particular functions. In this regard,the means of circuitry 400 as described herein may be embodied as, forexample, circuitry, hardware elements (e.g., a suitably programmedprocessor, combinational logic circuit, integrated circuit, and/or thelike), a computer program product comprising computer-readable programinstructions stored on a non-transitory computer-readable medium (e.g.,memory 404) that is executable by a suitably configured processingdevice (e.g., processor 402), or some combination thereof.

Processor 402 may, for example, be embodied as various means includingone or more microprocessors with accompanying digital signalprocessor(s), one or more processor(s) without an accompanying digitalsignal processor, one or more coprocessors, one or more multi-coreprocessors, one or more controllers, processing circuitry, one or morecomputers, various other processing elements including integratedcircuits such as, for example, an ASIC (application specific integratedcircuit) or FPGA (field programmable gate array), or some combinationthereof. Accordingly, although illustrated in FIG. 4 as a singleprocessor, in some embodiments, processor 402 may comprise a pluralityof processing means. The plurality of processing means may be embodiedon a single computing device or may be distributed across a plurality ofcomputing devices collectively configured to function as circuitry 400.The plurality of processing means may be in operative communication witheach other and may be collectively configured to perform one or morefunctionalities of circuitry 400 as described herein. In an exampleembodiment, processor 402 may be configured to execute instructionsstored in memory 404 or otherwise accessible to processor 402. Theseinstructions, when executed by processor 402, may cause circuitry 400 toperform one or more of the functionalities described herein.

Whether configured by hardware, firmware/software methods, or by acombination thereof, processor 402 may comprise an entity capable ofperforming operations according to embodiments of the present inventionwhile configured accordingly. Thus, for example, when processor 402 isembodied as an ASIC, FPGA or the like, processor 402 may comprisespecifically configured hardware for conducting one or more operationsdescribed herein. As another example, when processor 402 may be embodiedas an executor of instructions, such as may be stored in memory 404, theinstructions may specifically configure processor 402 to perform one ormore algorithms, methods or operations described herein. For example,processor 402 may be configured to execute operating systemapplications, firmware applications, media playback applications, mediaediting applications, among other things.

Memory 404 may comprise, for example, volatile memory, non-volatilememory, or some combination thereof. Although illustrated in FIG. 4 as asingle memory, memory 404 may comprise a plurality of memory components.The plurality of memory components may be embodied on a single computingcomponent or distributed across a plurality of computing components. Invarious embodiments, memory 404 may comprise, for example, a hard disk,random access memory, cache memory, flash memory, a compact disc readonly memory (CD-ROM), solid state memory, digital versatile disc readonly memory (DVD-ROM), an optical disc, circuitry configured to storeinformation, integrated circuitry, chemical/biological memory, paper, orsome combination thereof. Memory 404 may be configured to storeinformation, data, applications, instructions, or the like for enablingcircuitry 400 to carry out various functions in accordance with exampleembodiments discussed herein. For example, in at least some embodiments,memory 404 may be configured to buffer input data for processing byprocessor 402. Additionally or alternatively, in at least someembodiments, memory 404 may be configured to store program instructionsfor execution by processor 402 and/or data for processing by processor402. Memory 404 may store information in the form of static and/ordynamic information. This stored information may be stored and/or usedby circuitry 400 during the course of performing its functionalities.

Communications module 406 may be embodied as any component or meansembodied in circuitry, hardware, a computer program product comprisingcomputer readable program instructions stored on a computer readablemedium (e.g., memory 404) and executed by a processing device (e.g.,processor 402), or a combination thereof that is configured to receiveand/or transmit data from/to another device, such as, for example, asecond circuitry 400 and/or the like. In some embodiments,communications module 406 (like other components discussed herein) canbe at least partially embodied as or otherwise controlled by processor402. In this regard, communications module 406 may be in communicationwith processor 402, such as via a bus. Communications module 406 mayinclude, for example, an antenna, a transmitter, a receiver, atransceiver, network interface card and/or supporting hardware and/orfirmware/software for enabling communications. Communications module 406may be configured to receive and/or transmit any data that may be storedby memory 404 using any protocol that may be used for communications.Communications module 406 may additionally and/or alternatively be incommunication with the memory 404, input/output module 408 and/or anyother component of circuitry 400, such as via a bus. Communicationsmodule 406 may be configured to use one or more communications protocolssuch as, for example, Bluetooth, Wi-Fi (e.g., a 802.11 protocol, etc.),radio frequency systems (e.g., 900 MHz, 1.4 GHz, and 5.6 GHzcommunication systems), infrared, mobile broadband, GSM, GSM plus EDGE,CDMA, quadband, and other cellular protocols, VOIP, and/or any othersuitable protocol. In some embodiments, such as when circuitry 400 isembodied as a communication beacon, a root beacon, and/or a consumerdevice communication beacon, communications module 406 may be configuredto generate a wireless PAN for communication with other devices withincommunicable range of the wireless PAN.

Input/output module 408 may be in communication with processor 402 toreceive an indication of an input and/or to provide an audible, visual,mechanical, or other output. In that sense, input/output module 408 mayinclude means for performing analog-to-digital and/or digital-to-analogdata conversions. Input/output module 408 may include support, forexample, for a display, touchscreen, keyboard, button, click wheel,mouse, joystick, an image capturing device, microphone, speaker,biometric scanner, and/or other input/output mechanisms. In embodimentswhere circuitry 400 may be implemented as a server or database, aspectsof input/output module 408 may be reduced as compared to embodimentswhere circuitry 400 may be implemented as an end-user machine or othertype of device designed for complex user interactions. In someembodiments (like other components discussed herein), input/outputmodule 408 may even be eliminated from circuitry 400. Alternatively,such as in embodiments wherein circuitry 400 is embodied as a server ordatabase, at least some aspects of input/output module 408 may beembodied on an apparatus used by a user that is in communication withcircuitry 400. Input/output module 408 may be in communication withmemory 404, communications module 406, and/or any other component(s),such as via a bus. Although more than one input/output module and/orother component can be included in circuitry 400, only one is shown inFIG. 4 to avoid overcomplicating the disclosure (e.g., like the othercomponents discussed herein).

In some embodiments, point-of-sale module 410 may also or instead beincluded and configured to perform the functionality discussed hereinrelated to programmatically grouping consumers for consumer service. Insome embodiments, some or all of the functionality of point-of-salemodule 410 may be performed by processor 402. In this regard, theexample processes and algorithms discussed herein can be performed by atleast one processor 402 and/or promotion module 410. For example,non-transitory computer readable storage media can be configured tostore firmware, one or more application programs, and/or other software,which include instructions and other computer-readable program codeportions that can be executed to control processors of the components ofsystem 400 to implement various operations, including the examples shownabove. As such, a series of computer-readable program code portions maybe embodied in one or more computer program products and can be used,with a device, server, database, and/or other programmable apparatus, toproduce the machine-implemented processes discussed herein.

Any such computer program instructions and/or other type of code may beloaded onto a computer, processor or other programmable apparatus'scircuitry to produce a machine, such that the computer, processor otherprogrammable circuitry that executes the code may be the means forimplementing various functions, including those described herein. Insome embodiments, one or more external systems (such as a remote cloudcomputing and/or data storage system) may also be leveraged to provideat least some of the functionality discussed herein.

As described above and as will be appreciated based on this disclosure,various embodiments may be implemented as methods, mediums, devices,servers, databases, systems, and the like. Accordingly, embodiments maycomprise various means including entirely of hardware or any combinationof software and hardware. Furthermore, embodiments may take the form ofa computer program product on at least one non-transitorycomputer-readable storage medium having computer-readable programinstructions (e.g., computer software) embodied in the storage medium.Any suitable computer-readable storage medium may be utilized includingnon-transitory hard disks, CD/DVD-ROMs, flash memory, optical storagedevices, quantum storage devices, chemical storage devices, biologicalstorage devices, magnetic storage devices, etc.

Embodiments have been described above with reference to block diagramsof components, such as functional modules, system components andcircuitry. Below is a discussion of an example process flowchartsdescribing functionality that may be implemented by one or morecomponents discussed above. Each block of the block diagrams and processflowcharts, and combinations of blocks diagrams and process flowcharts,respectively, can be implemented by various means including computerprogram instructions. These computer program instructions may be loadedonto a general purpose computer, special purpose computer, or otherprogrammable data processing apparatus, such as processor 402, toproduce a machine, such that the computer program product includes theinstructions which execute on the computer or other programmable dataprocessing apparatus to create a means for implementing the functionsspecified in the flowchart block or block diagrams.

These computer program instructions may also be stored in anon-transitory computer-readable storage device (e.g., memory 404) thatcan direct a computer or other programmable data processing apparatus tofunction in a particular manner, such that the instructions stored inthe computer-readable storage device produce an article of manufactureincluding computer-readable instructions for implementing the functiondiscussed herein. The computer program instructions may also be loadedonto a computer or other programmable data processing apparatus to causea series of operational steps to be performed on the computer or otherprogrammable apparatus to produce a computer-implemented process suchthat the instructions that execute on the computer or other programmableapparatus provide steps for implementing the functions discussed herein.

Accordingly, blocks of the block diagrams and flowchart illustrationssupport combinations of means for performing the specified functions,combinations of steps for performing the specified functions and programinstruction means for performing the specified functions. It will alsobe understood that each block of the block diagrams and processflowcharts, and combinations of blocks in the block diagrams and processflowcharts, can be implemented by special purpose hardware-basedcomputer systems that perform the specified functions or steps, orcombinations of special purpose hardware and computer instructions.

Programatically Grouping Consumers

FIG. 5 shows an example of a method 500 for programmatically groupingconsumers, in accordance with some embodiments. Method 500 is discussedherein with reference to FIGS. 1 and 2, although other suitablecomputing devices may be used in various embodiments.

Method 500 may begin at 502 and proceed to 504, where a communicationbeacon may be configured to broadcast a beacon identifier via a wirelesspersonal area network (PAN). For example, the communication beacon maybe located at a location of interest at a merchant shop (e.g., table 208as shown for communication beacon 204 at a dine-in restaurant).Locations of interest may vary depending on the applicable merchant. Forexample, a dine-in restaurant may include tables, reservation desks,waiting rooms, seats, rooms, etc. in which consumers may gather ingroups for consumer activity. In another example, a retail store mayinclude locations of interest such as checkout lines, informationkiosks, customer service, etc. As shown in FIG. 2, communication beacon204 may be configured to broadcast a beacon identifier via wireless PAN210 generated by communication beacon 204.

In some embodiments, a communication beacon may be configured topassively emit the beacon identifier. In some embodiments, thecommunication beacon may be configured to broadcast the beaconidentifier using a Bluetooth protocol. For example, protocols such asBluetooth low energy (LE) may be particularly suitable when thecommunication beacon is battery-powered. Where a merchant shop includesmultiple communication beacons, each of the communication beacons may beconfigured to broadcast a different beacon identifier that uniquelyidentifies the beacon. In some embodiments, the beacon identifier may bechanged, updated, or otherwise configured by the merchant device.

In some embodiments, a point-of-sale system may include multiplecommunications beacons that are each located at different locations ofinterest and/or each configured to broadcast different beaconidentifiers. Here, the communication beacons may form a mesh of signalcoverage within the locations of interest.

At 506, a merchant device may be configured to receive an indicationthat a consumer device received the beacon identifier from thecommunication beacon. In some embodiments, the merchant device may belocated within the same merchant shop as the communication beacon, asshown in FIG. 2 for merchant device 202. The consumer device may beconfigured to receive the beacon identifier being broadcast by thecommunication beacon when within a communicable range of thecommunication beacon. For example, a consumer seating at table 208 whileholding a consumer device 212 may result in the consumer device comingwithin communicable range of communication beacon 204. In someembodiments, the consumer device 212 may be configured to use acompatible communication protocol as the communication beacon, such asthe Bluetooth version 4.0 with low energy (LE) technology. In someembodiments, the consumer device may be configured to (e.g., viaexecuting an application in the background of an operating system)detect the presence of the nearby communication beacon. Here, theconsumer device may be configured to utilize the Bluetooth LE protocol,among other things, to achieve low power communication beacon discovery.

In some embodiments, the consumer device may be further configured toprovide the indication that the consumer device received the beaconidentifier to the merchant device, such as directly (e.g., via awireless PAN) or via another device(s) and/or network(s) (e.g., thecommunication beacon and the wireless PAN of the communication beacon,server 110 via network 104, the Internet, among other things. As such,the consumer device may be further configured to send the indicationthat the consumer device received the beacon identifier to the merchantdevice, the communication beacon, and/or a central system (e.g., system102). The communication beacon and/or central system, when configured toreceive the indication from the consumer device, may be furtherconfigured to send an appropriate indication to the merchant device.

In some embodiments, the merchant device may be configured to determinethe consumer devices are nearer to the communication beacon than one ormore other communication beacons. For example and with reference to FIG.2, consumer device 214 may be associated with communication beacon 204rather than communication beacon 206 based on signal strength ofcommunications signals being stronger between consumer device 214 andcommunication beacon 204 than between consumer device 214 andcommunication beacon 206.

In some embodiments, where consumer device communication beacons anddedicated communication beacons are used, the merchant device may beconfigured to prioritize the signal strengths from consumer devicecommunication beacons over the same or substantially the same signalstrengths from dedicated communication beacons. Accordingly, in someembodiments, one or more of signal strength, extent of time that theconfiguration is spatially stable, and/or communication beacon type(dedicated vs. consumer device communication beacons) may be factors indetermining which consumer devices should be associated with whichcommunication beacons.

In some embodiments, the merchant device may additionally oralternatively be configured to receive an indication that the consumerdevice has maintained a wireless PAN connection with the communicationbeacon for a predetermined period of time. For example, some embodimentsmay track consumer device locations and/or otherwise determine stablelocations of consumer devices over time as discussed in connection withmethod 700 and FIG. 7.

At 508, the merchant device may be configured to identify a consumeraccount associated with the consumer device. The consumer account, forexample, may be provided to consumers by system 102 and may beassociated with consumer data (e.g., stored in database 112 and sent byserver 110) including consumer payment data (e.g., payment methods,credit cards, payment accounts, etc.). The merchant device may befurther configured to receive consumer data from server 110 thatidentifies the consumer account and/or consumer. In some embodiments,consumer identification may be performed based on the merchant deviceand/or communication beacon being configured to receive walletidentifying data (e.g., a wallet identifying token, key, code or otheridentifier) from the consumer device. Here, the merchant device and/orcommunication beacon may be further configured to send the walletidentifying data to system 102 and receive consumer information fromsystem 102 in response. Additional discussion regarding consumer devicebased consumer presence detection and identification, applicable to someembodiments, can be found in U.S. patent application Ser. No.13/801,610, titled “Consumer Presence Based Deal Offers,” filed Mar. 13,2013, which is incorporated by reference in its entirety herein. In someembodiments, such as where consumers are not associated with a consumeraccount, the merchant device may be configured to generate and/orotherwise associate a placeholder account and/or other consumerindicator with the consumer device.

At 510, the merchant device may be configured to determine whether apoint-of-sale order is associated with the beacon identifier. Forexample, an existing point-of-sale order may be associated with thebeacon identifier based on the merchant device being configured toreceive an indication that a first (e.g., earlier arriving) consumerdevice has received the beacon identifier from the communication beacon,and in response, create the point-of-sale order for the first consumerdevice.

In response to determining that a point-of-sale order fails to beassociated with the beacon identifier, method 500 may proceed to 512,where the merchant device may be configured to create a point-of-saleorder. As discussed above, the merchant device may be configured toprovide point-of-sale functionality. Some examples of point-of-salefunctionality may include creating orders, adding items to an order,modifying items, determining a transaction price, and/or facilitatingpayments (e.g., including tax and tips). In the example where themerchant device is deployed at a dine-in restaurant, the items may bemenu items that may be added to the point-of-sale order (e.g., therestaurant check).

Method 500 may then proceed to 514, where the merchant device may beconfigured to associate the consumer account with a point-of-sale order.Similarly and returning to 510, in response to determining that apoint-of-sale order has been associated with the beacon identifier,method 500 may also proceed to 514. In some embodiments, the merchantdevice may be additionally and/or alternatively configured to associatethe consumer device with the point-of-sale order (e.g., when consumeraccounts are not used or unavailable for a consumer).

In some embodiments, in response to receiving the beacon identifier, theconsumer device may be configured to create a new point-of-sale order.Here, the merchant device may be configured to receive a notificationand data associated with the point-of-sale order (e.g., the consumeraccount associated with the consumer device).

At 516, the merchant device may be configured to determine whether tofacilitate a financial transaction for the point-of-sale order. Forexample, at a dine-in restaurant, the financial transaction may becompleted upon completion of a meal or otherwise subsequent to receivingan indication from a consumer (e.g., via the consumer device orotherwise) that the consumer is ready to provide payment. In someembodiments, the merchant device may be configured to initiate thefinancial transactions based on the location of consumer devices. Here,for example, consumers may be automatically charged upon leaving themerchant shop (e.g., taking the consumer device outside of thecommunicable range of an associated communication beacon, othercommunication beacon, and/or among other things) without having to gothrough a conventional checkout procedure. In some embodiments, such aswhen a point-of-sale order is associated with multiple consumeraccounts, the merchant device may be configured receive (e.g., fromconsumer devices) payment share data indicating a portion of thetransaction price to be paid by a (e.g., each) consumer account. Here,the merchant device may be further configured to facilitate one or moretransactions based on the payment share data. Financial transactionsand/or other consumer service functionality associated withpoint-of-sale orders are discussed in further detail in method 800 andshown in FIG. 8.

In response to determining to not (e.g., yet) facilitate a financialtransaction for the point-of-sale order, method 500 may return to 506,where the merchant device may be configured to receive indications thatconsumer devices received a beacon identifier. The beacon identifier maybe the same beacon identifier, or alternatively, a different beaconidentifier associated with a different communication beacon. Where thebeacon identifier is the same, the merchant device may be configured toassociate a consumer account with the associated point-of-sale order.Here, until the point-of-sale order been closed (e.g., via a financialtransaction), one or more consumers may be added and/or removed from theassociated consumers of the point-of-sale order. Where the beaconidentifier is different, the merchant device may be configured toassociate the consumer device with corresponding different point-of-saleorder. In some embodiments, the merchant device may be configured to(e.g., continuously) monitor consumer devices that receive beaconidentifiers and associate consumers to point-of-sale orders based on thebeacon identifiers received by the consumer devices.

In response to determining to facilitate a financial transaction for thepoint-of-sale order and upon completion of the financial transaction,method 500 may proceed to 518, where the merchant device may beconfigured to disassociate the point-of-sale order with the beaconidentifier. Here, a subsequent consumer device that receives the beaconidentifier may be associated with a different point-of-sale order. At adine-in restaurant, for example, a second consumer and/or consumer groupmay have arrived at a table subsequent to the departure of a firstconsumer and/or consumer group. The second consumer and/or consumergroup may then be associated with a different point-of-sale order.Method 500 may then proceed to 520 and end.

FIG. 6 shows an example of a method for programmatically groupingconsumers based on peer-to-peer consumer devices, in accordance withsome embodiments. Method 600 is discussed herein with reference to FIGS.1 and 3, although other suitable computing devices may be used invarious embodiments.

Method 600 may begin at 602 and proceed to 604, where a root beacon maybe configured to detect consumer devices within a communicable range ofthe root beacon. As discussed above and shown in FIG. 3, for example,the root beacon may be included within merchant device 302 and may beconfigured to provide wireless PAN 304. Here, consumer devices withinthe communicable range of wireless PAN 304 may be detected. Within adine-in restaurant, the root beacon may be located at and/or near anentrance of the restaurant. Here, consumer devices that enter therestaurant may be detected. In some embodiments, the discussion hereinregarding communication beacons may be applicable to the root beacon.For example, the root beacon may be configured to broadcast a beaconidentifier that may be different from the beacon identifiers of otherbeacons.

At 606, the merchant device may be configured to determine a detectedconsumer device as a communication beacon (or “consumer devicecommunication beacon,” as used herein). In some embodiments, theconsumer device may be configured to initiate communication beaconfunctionality in response to being detected by the root beacon. Forexample, the consumer device may be configured to allow the consumer(e.g., via a toggle button or other user interface), merchant device,and/or root beacon to initiate the broadcasting of a beacon identifier.Additionally and/or alternatively, the consumer may be allowed to selectan existing consumer device beacon to join the associated point-of-saleorder. In some embodiments, communication beacon functionality on theconsumer device may be initiated at a predetermined time subsequent tothe consumer device being detected by the root beacon. Here, consumersmay be provided a window of time to join an existing point-of-saleorder, such as by arriving within a communicable range and/orpredetermined distance of another communication beacon. In someembodiments, the merchant device and/or root beacon may be configured togenerate and/or otherwise determine the beacon identifier for theconsumer device beacon identifier and send the beacon identifier to theconsumer device for broadcasting.

At 608, the merchant device may be configured to identify a consumeraccount associated with the consumer device. At 610, the merchant devicemay be configured to associate the consumer account with a point-of-saleorder. The discussion at 508 and 512 of method 500 may be applicable at608 and 610, respectively.

At 612, the merchant device may be configured to perform method 500 withthe consumer device acting as the communication beacon. For example,other consumer devices that receive the beacon identifier from theconsumer device communication beacon may be associated with thepoint-of-sale order along with the consumer device communication beacon.Here, subsequent consumers (e.g., other party members) can connect to apoint-of-sale order based on distance from one or more communicationbeacons (e.g., the nearest communication beacon). Additionally oralternatively, subsequent consumers can manually select thepoint-of-sale order, such as from a menu of potential candidatepoint-of-sale orders each associated with a communication beacon.

In some embodiments, the consumer associated with the first consumerdevice associated with the point-of-sale order may elect via theconsumer device to a “leader” of a consumer group. The consumer deviceand/or merchant device may be configured to register a Bluetooth LEcharacteristic that identifies the consumer device as the leader of thepoint-of-sale order and another Bluetooth LE characteristic thatidentifies the point-of-sale order (e.g., via an order ID) in thepoint-of-sale system. Other consumer devices scanning for communicationbeacons may now read one of more of these Bluetooth LE characteristicsto determine the point-of-sale order to which the consumer device shouldjoin (e.g., programmatically based on location data and/or based onconsumer selection).

At 614, the merchant device may be configured to determine whether aconsumer device unassociated with a communication beacon has beendetected by the root beacon. The consumer device may be outside of acommunicable range of one or more other consumer device communicationbeacons and/or outside of a predetermined distance from the one or moreother consumer device communications beacons. For example, the consumerdevice may be located near the root beacon, such as at a lobby,entrance, waiting room, etc. of a dine-in restaurant.

In response to determining that a consumer device unassociated with acommunication beacon has been detected by the root beacon, method 600may return to 606, where the merchant device may be configured todetermine the detected consumer device as a communication beacon. Inresponse to determining that no other consumer device (e.g.,unassociated with an existing communication beacon) has been detected bythe root beacon, method 600 may proceed to 616 and end.

FIG. 7 shows an example of a method 700 for programmatically groupingconsumers based on location, in accordance with some embodiments. Thelocation of the consumers may be determined based on location datareceived from consumer devices. In some embodiments, method 700 may beperformed to negotiate leadership (e.g., determine the consumer devicecommunication beacon) and/or determine consumer grouping withoutconsumer attention (e.g., consumer inputs received from consumerdevices). In some embodiments, method 700 may have particularapplication in merchant shops where consumer spatially aggregate forgroup activity (e.g., at dine-in restaurants, bars, etc.) and where thelocation of consumers may be determined with high resolution tofacilitate in-shop consumer service. For example, the locations ofconsumer devices within a merchant shop may be tracked over time. Stable(e.g., over time) spatial clusters of consumer devices may be associatedwith common point-of-sale orders.

Method 700 may begin at 702 and proceed to 704, where the merchantdevice may be configured to receive location data from consumer devicesindicating the location of the consumer devices. FIG. 9 shows a floorplan of an example restaurant 900, in accordance with some embodiments.Restaurant 900 may include entrance 902, waiting area 904, wait desk906, dine-in area 908, kitchen 910 and restroom 912. Wait desk 906 maybe a table, kiosk, etc. at which root beacon 914 may be located. In someembodiments, root beacon 914 may be part of a merchant device configuredto facilitate point-of-sale orders. For example, restaurant 900 mayoffer delivery (e.g., ordered online or through telephone), carry-out,or the like and the merchant device at wait desk 906 may be configuredto facilitate such orders. Root beacon 914 may be configured to providewireless PAN 916 and/or broadcast a root beacon identifier via wirelessPAN 916. The communicable range of wireless PAN 916 is not necessarilydrawn to scale in FIG. 9, and in some embodiments, may be variablyconfigurable (e.g., via a merchant device) as desirable or suitable.

Dine-in area 908 may include multiple locations where consumers may beseated for dine-in, such as tables 918, 920 and 922. Table 918 mayinclude communication beacon 924 and table 920 may include communicationbeacon 926. Communication beacon 924 may be configured to providewireless PAN 928 and/or broadcast a beacon identifier via wireless PAN928. Communication beacon 926 may be configured to provide wireless PAN930 and/or broadcast a beacon identifier via wireless PAN 930. Table 922may not include a communication beacon. As discussed above in method600, a consumer device may be selected to function as an ad hoccommunication beacon. For example, consumer device communication beacon936 may be configured to wireless PAN 938 and/or broadcast a beaconidentifier via wireless PAN 938. In restaurant 900, both dedicatedcommunication beacons 924 and 926 and consumer device communicationbeacon 936 are used. In some embodiments, a point-of-sale system may beconfigured to use one of dedicated communication beacons or consumerdevice communication beacons.

Upon a consumer entering restaurant 900 at entrance 902 and/or while theconsumer is near waiting area 904, a consumer device (e.g., consumerdevice 932) carried by the consumer may be detected by root beacon 914via wireless PAN 916, as discussed above in connection with method 600.In some embodiments, restaurant 900 may not include a root beacon, andinstead, may use dedicated communication beacons.

Upon consumers being seated at various tables (e.g., with the assistanceof the wait staff or otherwise), the location of the consumer devicesmay be determined based on signal strength of communication signalsbetween the consumer devices and one or more beacons (e.g.,communication beacons 924 and/or 926, consumer device communicationbeacons, root beacon 914, location beacons (e.g., strategically locatedwithin the merchant shop to provide consumer device locationtriangulation), among other things). For example, stronger communicationsignals (e.g., communicated via the wireless PAN 928) between consumerdevice 934 and communication beacon 924 relative to communicationsignals (e.g., communicated via wireless PAN 930) between consumerdevice 934 and communication beacon 926 may indicate that consumerdevices 934 is closer to communication beacon 924 than 926. Accordingly,the consumer device may be associated with the communication beacon 924rather than communication beacon 926.

In some embodiments, the location of the consumer device may bedetermined based on communication signals between the consumer deviceand three or more beacons (e.g., root beacon 914, communication beacon924, communication beacon 926 and/or consumer device communicationbeacon 936. For example, the signal strength of the consumer device withrespect to each beacon and known locations of each beacon may be used totriangulate the location of the consumer device. In some embodiments,the point-of-sale system may include one or more location beacons thatmay be disposed within the merchant shop for the purpose of consumerdevice triangulation and location determination. In some embodiments, aroot beacon, merchant device, and/or communication beacon may also beused as a location beacon for consumer device location determination.

Returning to FIG. 7, at 706, the merchant device may be configured toidentify a stable spatial cluster of consumer devices over time based onthe location data. For example, the location of a consumer device may bedetermined to be stable over time based on the location data indicatingthat the consumer device has not substantially changed location for apredetermined period of time (e.g., 5 minutes). Returning to restaurant900, consumers that are seated at table 918 for dine-in may remain atand/or near table 918 for the predetermined period of time with theirconsumer devices. Here, each of the consumer devices 934, 940, and 942may be identified as the stable spatial cluster of consumer devices overtime. Consumer devices 936 and 946 may also be identified as a stablecluster of consumer devices over time. Consumer device 948, being theonly consumer device nearest to communication beacon 926, may beidentified as a stable spatial cluster including only a single consumerdevice.

In some embodiments, the merchant device may be configured to execute anad hoc clustering algorithm to identify the spatial clusters of consumerdevices based on the location data. For example, consumer device 944held by a consumer walking across dine-in area 908 to restroom 912 maynot be associated with wireless PAN 938 despite being temporarily (e.g.,for less than the predetermined time) within communicable range ofwireless PAN 938 and/or nearest to beacon 936. In some embodiments, theconsumer devices may be configured to provide a confirmation and/orother data indicating the appropriate point-of-sale order. Uponreceiving confirmation (e.g., from one or more consumer devices of aparty) of the consumers and/or consumers accounts of a point-of-saleorder and/or based on having identified a stable cluster, the consumerdevice associated with the confirmed group may be allowed to traversefreely (e.g., to restroom 912) without further affecting groupmembership (e.g., with other point-of-sale orders).

In some embodiments, such as where consumer device communication beaconsare used, the merchant device may be configured to programmaticallydetermine (e.g., based on the location data) one or more consumer devicecommunication beacons and associate other consumer devices with the oneor more consumer device communication beacons. For example, a first(e.g., centrally located) consumer device of the stable spatial clusterof consumer devices may be selected as a communication beacon and theother consumer devices may be associated with the beacon identifier ofthe communication beacon. Here, a programmatic technique may be employedsuch that consumers not need to initiate the broadcasting of a beaconidentifier and/or select existing consumer device beacon to join anassociated point-of-sale order, as described herein for someembodiments. In some embodiments, consumer inputs received from consumerdevices may be used to confirm, update and/or modify the consumer devicegrouping determined based on the location data.

In some embodiments, the merchant device may be configured to determineconsumer device communication beacons based on the location of consumerdevices such that the consumer device communication beacons form an adhoc mesh of signal coverage at locations of interest (e.g., within amerchant shop). For example, the consumer device including consumerdevice communication beacon 936 may be selected as the communicationbeacon based on wireless PANS 928 and 930 failing to provide sufficientcommunication beacon wireless signal coverage for table 922. In anotherexample, a consumer device communication beacon may be determined tohave moved (e.g., such as when a consumer carrying the consumer devicecommunication visits restroom 912 or otherwise leaves dine-in area 908).Here, the merchant device may be configured to determine a differentconsumer device as a consumer device communication beacon and/orotherwise account for the movement of the consumer device communicationbeacon (e.g., by disabling broadcasting of beacon identifier, ignoringindications of the beacon identifier being received from consumerdevices, etc.).

In some embodiments, where triangulation is used for locationdetermination, the merchant device may be configured to select and/orotherwise determine consumer device communication beacons such that atleast three location beacons are available for location datadetermination.

At 708, the merchant device may be configured to identify consumeraccounts associated with the stable spatial cluster of consumer devices.The discussion at 508 of method 500 may be applicable at 708.

At 710, the merchant device may be configured to associate the consumeraccounts with a point-of-sale order. The discussion at 512 and 514 ofmethod 500 may be applicable at 710. Method 700 may then proceed to 712and end.

FIG. 8 shows an example of a method 800 for facilitating a financialtransaction, in accordance with some embodiments. Some or all the stepsof method 800 may be performed after one or more consumers have beenassociated with a point-of-sale order, such as described above inconnection with methods 500, 600 and/or 700, and/or using any othersuitable techniques (e.g., via merchant input to the merchant device).

Method 800 may begin at 802 and proceed to 804, where the merchantdevice may be configured to associate the beacon identifier of acommunication beacon with the location of the communication beacon. Forexample, where dedicated communication beacons are used at a merchantshop, the beacon identifiers for each communication beacon may beassociated with the locations at which the communication beacons arephysically located. As shown in FIG. 9, for example, communicationbeacon 924 may be associated with table 918 at restaurant 900 wherecommunication beacon 924 may be located. In some embodiments, themerchant device may be configured to generate and/or access a mappingbetween beacon identifiers and real-world locations, tables, seats,areas, etc.

In some embodiments, the location of the communication beacon and/orassociated consumer devices may be used facilitate consumer service.Some examples may include the wait staff being directed to the locationwhere consumers are seated to take orders and requests, refill drinks,deliver prepared items, among other things. For example, upondetermining that consumer device 944 associated with communicationbeacon 926 has left table 920 (e.g., to visit restroom 912), prepareditems from kitchen 910 may be temporarily delayed until consumer device944 is determined to have returned to table 920.

In some embodiments, the merchant device may be configured to receiveconsumer information (e.g., from system 102) associated with consumeraccounts. The consumer information, for example, may be configured tofacilitate customized dining service. For example, the consumerinformation may include menu item purchase history data and/or consumerpreferences (e.g., allergies, favorites, etc.) to facilitate theoffering of recommended menu items. In another example, the consumerinformation may indicate one or more promotions purchased by theconsumer that are redeemable at the merchant shop to facilitate theredemption of the one or more promotions. Additional discussionregarding techniques for providing consumer service based on consumerdevice location and/or consumer information, applicable to someembodiments, may be found in U.S. patent application Ser. No.13/794,529, titled “Consumer Device Based Point-of-Sale,” filed Mar. 11,2013, which is incorporated by reference in its entirety herein.

At 806, the merchant device may be configured to associate menu itemswith the point-of-sale order. A “menu item,” as used herein, may referto a product, service, and/or experience offered by the merchant toconsumers. In some embodiments, the merchant device may be configured toallow a merchant to select the menu items from a menu interface. Themerchant device may be located at a checkout of a retail shop or at await desk for a dine-in restaurant (e.g., wait desk 906 of restaurant900 shown in FIG. 9). Where the merchant device is a mobile device suchas a smartphone or tablet, a merchant may carry the mobile device to thelocation of the consumer devices and/or communication beacon associatedwith the point-of-sale order to take consumer orders. For example,merchant device 950 as shown in FIG. 9 may be carried to table 918 totake consumer orders.

Some embodiments may provide for consumer self-ordering via a consumerdevice. For example, the consumer device may be provided a menuinterface configured to receive consumer selection of the menu items. Invarious embodiments, the menu interface may be provided to the consumerdevice by the merchant device, a beacon, and/or by system 102 (e.g., vianetwork 104). The consumer device may be further configured to generateorder data indicating one or more selected menu items and send the orderdata to the merchant device. In some embodiments, a menu interface maybe configured to allow modifications to a selected menu item. Forexample, the menu interface may allow a consumer may order acheeseburger with modifications such as extra bacon or no tomatoes.

At 808, the merchant device may be configured to determine a transactionprice for the point-of-sale order. For example, the transaction pricemay be determined based at least in part on the prices of each of themenu items associated with the point-of-sale order. Upon consumers beingfinished with their meal at restaurant 900, the transaction price may beprovided to the consumers via the consumer devices and/or via arestaurant check. The consumers may then be allowed to provide paymentfor at least the transaction price using consumer devices. Additionallyor alternatively, consumers may be allowed to provide some or all of thepayment using cash, credit card, debit card, check, etc. Whether aconsumer device is used or otherwise, payment may be provided at waitdesk 906, while the consumers are seated, and/or automatically uponconsumers leaving the merchant shop.

At 810, the merchant device may be configured to receive payment sharedata indicating a portion of the transaction price to be paid by aconsumer account. For example, the payment share data may be receivedfrom a consumer device associated with the point-of-sale order. In someembodiments, the merchant device may be further configured to send orderdata indicating selected menu items and the transaction price to theconsumer device. In response, the consumer device may be configured toprovide an item claim interface configured to allow a consumer to selectone or more menu items associated with the point-of-sale order forpayment. In some embodiments, the item claim interface may include asingle consumer input (e.g., one-click) opt-in for specific menu items.Here, the consumer device may be configured to generate the paymentshare data indicating one or more menu items of the point-of-sale orderto be paid for by the consumer account associated with the consumerdevice. In some embodiments, the merchant device may be furtherconfigured to determine the portion of the transaction price based onthe payment share data. For example, the portion of the transactionprice may be determined based at least in part on the price of the oneor more menu items selected by the consumer for payment. In someembodiments, the merchant device may be configured to receive paymentshare data from each of the consumer devices associated with thepoint-of-sale order.

In some embodiments, the merchant device may be configured to split thecosts of any unclaimed items in the point-of-sale order among theconsumer accounts. Here, each divided share of the unclaimed costs maybe added to the portion of the transaction price.

At 812, the merchant device may be configured to facilitate a paymentfor at least the portion of the transaction price to be paid by theconsumer account. For example, the payment may include a final paymentamount that includes the portion of the transaction price (e.g., for themenu items ordered by the consumer), a tip amount (e.g., which may beprovided via the consumer device either programmatically via consumerconfiguration and/or based on consumer inputs), applicable taxes and/orother fees. In some embodiments, the final payment amount may also bereduced in accordance with the electronic redemption of a purchasedpromotion. For example, a coupon value of the promotion, or the like,could be deducted from the final payment amount. In some embodiments,the tip amount may be received from the consumer device after theinitial payment of a final amount minus the tip amount has beencompleted and/or after the payment share data has been received from theconsumer device at 810.

In some embodiments, secure consumer device payment techniques may beused. For example, the merchant device may be configured to providepayment amount data to the consumer device indicating the final paymentamount. The consumer device may be configured to generate securedpayment approval data (e.g., such by signing the payment amount data orother payment approval data with a wallet identifying token securelyshared with system 102 or other payment server) for the final paymentamount (which may or may not include an additional tip amount) and toprovide the secured payment approval data to the merchant device. Themerchant device may then send the secured payment approval data andpayment amount data to server 110 (e.g., of system 102) or other paymentserver to facilitate the financial transaction. For example, server 110may be configured to generate secured payment approval data by signingthe payment amount data with a stored wallet identifying token andcomparing the generated secured payment approval data against the onereceived from the merchant device. Upon successful authentication of thereceived data, server 110 may be configured to send the payment amountdata with payment data of the consumer (e.g., associated via theconsumer account) to a financial server, such as a server associatedwith the Automated Clearing House (ACH) for United States transactions.Additional discussion regarding secured consumer device payments,applicable to some embodiments, may be found in U.S. patent applicationSer. No. 13/764,753, titled “Consumer Device Token Management,” filedFeb. 11, 2013, and U.S. patent application Ser. No. 13/801,520, titled“Peer-to-Peer Payment Processing,” filed Mar. 13, 2013, which are eachincorporated by reference in their entirety herein, and U.S. patentapplication Ser. No. 13/801,610, incorporated by reference above.

In some embodiments, the merchant device may be configured to facilitatepayments for appropriate portions of the transaction price for eachconsumer account associated with the point-of-sale order.

In some embodiments, the point-of-sale system may be configured toprovide automated payments that do not require explicit consumerapproval for each transaction. For example, the merchant device may beconfigured to determine whether the consumer device has failed to bewithin a communicable range of a wireless PAN (e.g., one or more of thebeacons at the merchant shop) for a predetermined period of time. Inresponse to determining that the consumer device has failed to be withinthe communicable range of the wireless PAN for the predetermined periodof time, the merchant device may be configured to facilitate a paymentfor a at least a portion of the transaction price by the consumeraccount associated with the consumer device. In some embodiments, theconsumer device may be configured to allow consumers to set automatictip amounts (e.g., 15%, 20%, etc.). Here, the merchant device may beconfigured to receive tip data indicating the automatic tip amount andfacilitate a payment including the automatic tip amount.

In some embodiments, the merchant device and/or server 110 may beconfigured to send a request for a review and/or rating of the merchantto the consumer device. The consumer device may be configured to providean interface for providing the review and for sending the associateddata to the merchant device and/or system 102, such as via network 104.

At 814, the merchant device may be configured to facilitate a secondpayment for at least a second portion of the transaction price that isunclaimed by the consumer accounts. For example, the unclaimed portionsof the transaction price may not be split between consumer accounts inall instances, such as when there is a consumer that does not have aconsumer device. Here, the merchant device may be configured to generateone or more restaurant checks that may be paid by cash, credit card,debit card, etc. Method 800 may then proceed to 816 and end.

FIG. 10 shows an example of a method 1000 for facilitating sharedpayment for a point-of-sale order, in accordance with some embodiments.For example, method 1000 may be performed to allow a consumer to share aredeemable promotion with other consumers of a consumer group (e.g.,consumers associated with the point-of-sale order via their consumerdevices) that can be applied toward one or more payments by theconsumers of the consumer group. As such, some or all the steps ofmethod 1000 may be performed after one or more consumers (e.g., viatheir consumer devices) have been associated with a point-of-sale order,such as described above in connection with methods 500, 600 and/or 700,and/or using any other suitable techniques (e.g., via merchant input tothe merchant device, consumer input via consumer device(s), etc.).

In some embodiments, some or all of the steps of method 1000 may beperformed by a merchant device, such as merchant device 114.Alternatively or additionally, some or all of the steps of method 1000may be performed by a central system, such as server 110 of promotionand marketing system 102 and/or other system configured to providepoint-of-sale functionality to client point-of-sale systems. Here, thepoint-of-sale data indicating associations between consumer accounts andpoint-of-sale orders may be sent to server 110 from merchant device 114and/or communication beacon 116 or otherwise determined by server 110(e.g., based on the location data of consumer devices, communicationsignals between consumer devices and communication beacons, etc.). Forclarity, method 1000 is described as being performed by a merchantdevice.

Method 1000 may begin at 1002 and proceed to 1004, where the merchantdevice may be configured to provide a transaction price for thepoint-of-sale order to a consumer device associated with a consumer. Thediscussion at 804-808 of method 800 may be applicable at 1004. Forexample, the transaction price may be determined based at least in parton the prices of each of the menu items associated with thepoint-of-sale order. In some embodiments, transaction price for thepoint-of-sale order may further include a tax amount.

In some embodiments, the merchant device may be configured to receivetip data indicating a tip amount from the consumer device. The tip data,for example, may indicate a percentage of the transaction price withwhich the tip amount may be determined or may indicate the tip amount asa (e.g., monetary, credit, etc.) value. The merchant device may befurther configured to determine a final transaction price for thepoint-of-sale order that may include any applicable tax amounts and/ortip amounts.

At 1006, the merchant device may be configured to provide redeemablepromotions to the consumer device. For example, the merchant device maybe configured to request consumer data from server 110 indicatingpromotions that can be redeemed by the consumer account associated withthe consumer device. The merchant device may then provide the consumerdata to the consumer device. In another example, server 110 may beconfigured to provide the consumer data to the consumer device, such asin response to receiving point-of-sale order data from the merchantdevice and/or a request from the consumer device.

In some embodiments, the merchant device and/or server 110 may beconfigured to provide the consumer data to the consumer deviceprogrammatically based on various commercial events. For example,redeemable promotions may be provided to the consumer device inconnection with providing a menu for ordering items. In another example,redeemable promotions may be provided to the consumer device inconnection with performing a payment.

FIG. 11 shows an example redeemable promotion display 1100, inaccordance with some embodiments. Redeemable promotion display 1100 maybe an example consumer interface that includes consumer data indicatingredeemable promotions. In some embodiments, redeemable promotion display1100 may be provided to a consumer device for consumer selection ofredemption for one or more redeemable promotions.

Redeemable promotion display 1100 may include a listing of redeemablepromotions. A redeemable promotion may include a promotion that has beenpurchased (such as by providing an accepted value) and/or otherwiseaccepted by the consumer, such as promotion 11002. The listing ofredeemable promotions may be listed and/or ranked based on variouscriteria. In some embodiments, promotions applicable to the merchantshop in which the consumer is located may be presented. In someembodiments, in response to the consumer selecting nearby button 1104,the consumer device may be provided with one or more redeemablepromotions that are nearest or within a predetermined distance to theconsumer (e.g., as may be determined based on location data receivedfrom the consumer device). In response to the consumer selectingexpiring button 1104, the consumer device may be provided with one ormore redeemable promotions that are closest in time or within apredetermined time to their expiration dates. In response to consumerselecting recent button 1108, the consumer device may be provided withone or more redeemable promotions that have been most recently purchasedand/or purchased within a predetermined time, as shown in recentpromotion listing 1110.

In some embodiments, in response to the consumer selecting a promotion(e.g., promotion 1102) in redeemable promotion display 1100, themerchant device and/or server 110 may be configured to provide promotiondata associated with the selected promotion to the consumer device. FIG.12 shows an example promotion detail display 1200, in accordance withsome embodiments. Promotion detail display 1200 may include a display ofthe promotion data associated with a selected promotion, such aspromotion 1102. For example, promotion data display 1200 may includepromotion image 1202, expiration date 1204, merchant name 1206, merchantlocation(s) display 1208, and merchant address 1210. In someembodiments, promotion data display 1200 may include an indication ofprice related parameters of the promotion, such as redemption value1212, promotional value 1214, and accepted value 1216. As shown,promotion 1102 includes an accepted value of $10 (e.g., a cost topurchase the promotion and/or the price previously paid by the consumerto purchase the promotion), a promotional value of $10 (e.g., the valueof the resultant instrument beyond the accepted value), and a redemptionvalue of $20 (e.g., the value of the resultant instrument including theaccepted value and the promotional value). Promotion detail display 1200may further include view instrument button 1218. In response to theconsumer selecting view instrument button 1218, an instrument for thepromotion (e.g., as shown in FIG. 13) and/or interfaces that facilitatepromotion redemption may be provided to the consumer device.

Returning to FIG. 10, at 1008, the merchant device may be configured todetermine whether to redeem a promotion. For example, the merchantdevice may be configured to receive redemption data from the consumerdevice indicating the redemption of one or more redeemable promotions.FIG. 13 shows an example promotion instrument display 1300, inaccordance with some embodiments. Promotion instrument display 1300 maybe provided to the consumer device, such as in response to the consumerselecting view instrument button 1218 in promotion detail display 1200and/or otherwise in response to receiving a request from the consumerdevice. Promotion instrument display 1300 may include instrument 1302and redeem promotion selection 1304. In some embodiments, instrument1302 may include barcode identifier 1306 (e.g., as may be read by abarcode reader) and/or promotion identifier 1308, which may each includedata that uniquely identifies the redeemable promotion. In someembodiments, in response to the consumer selecting redeem promotionbutton 1304, redemption data indicating consumer intent to redeem thepromotion may be sent to the merchant device and/or server 110.Accordingly, the merchant device and/or server 110 may be configured todetermine to redeem the promotion based on the redemption data receivedfrom the consumer device.

In response to determining to redeem a promotion at 1008, method 1000may proceed to 1010, where the merchant device may be configured todetermine a redemption value, promotional value, and accepted value forthe promotion. As discussed above, promotion data that defines thepromotion and the redemption value, promotional value, and/or acceptedvalue may be stored in system 102, such as database 114. The merchantdevice may be configured to receive the promotion data from server 110.

At 1012, the merchant device may be configured to determine whether toshare the promotion with other consumers, such as the other consumers ofthe consumer group associated with the point-of-sale order. For example,an indication to share the promotion and/or sharing parameters may beprovided by the consumer that purchased the promotion, such as via theconsumer device. For example, the consumer may be allowed to share someor all of the redemption value of the promotion with one or more otherconsumers.

In some embodiments, the merchant device may be configured to receiveshare mode data indicating a selection of a preconfigured share mode,each having different parameters. The consumer may be allowed selectfrom one or more preconfigured share modes via the consumer device. Forexample, a share mode may specify that the redemption value is to besplit equally among each of the consumers associated with thepoint-of-sale order. In another example, a share mode (or “friendlymode,” as shown in FIG. 14) may that specify that the consumer is toreceive the accepted value of the promotion while the other consumerssplit (e.g., equally) the promotional value of the promotion.

FIG. 14 shows an example split-the-bill display 1400, in accordance withsome embodiments. Split-the-bill display 1400 may include friendly modeON/OFF toggle button 1402 configured to allow the consumer to enable ordisable the friendly mode share mode. Although the friendly mode sharemode is shown in FIG. 14 (e.g., as being toggled on), in variousembodiments, one or more other preconfigured share modes may be includedand may be selectable (e.g., via radio buttons) by the consumer. In someembodiments, the merchant device may be configured determine whether toshare the promotion with other consumers based on the selection (e.g.,“ON” or “OFF”) of friendly mode ON/OFF toggle button 1402, or the like.

In some embodiments, split-the-bill display 1400 may further includebill details display 1404 and payment details display 1406. Bill detailsdisplay 1404 may include point-of-sale data associated with thepoint-of-sale order, such as preliminary transaction price 1404 (e.g.,including the prices of one or more menu items and, in some examples, atax amount), redemption value of the shared promotion 1406 (e.g., insome embodiments, the accepted and/or promotional values may also beshown), tip amount 1410 (selectable by the consumer), final transactionprice 1412, and party size 1404. In some embodiments, one or more of theentries within bill details display 1404 may be programmaticallydetermined by the merchant device. In some embodiments, the consumer maybe allowed to change one or more of the programmatically determinedentries. For example, the consumer may be allowed to specify tip amountand party size, among other things via split-the-bill display 1400.

Returning to FIG. 10, in response to determining to share the promotionat 1012, method 1000 may proceed to 1014, where the merchant device maybe configured to determine a payment share amount of the consumer. Forexample, the payment share amount of the consumer may be determinedbased on the share parameters and/or share mode selected by theconsumer. Where friendly mode is selected, the payment share amount ofthe consumer may be determined by applying the accepted value of thepromotion.

With reference to FIGS. 12 and 14, for example, promotion 1102 mayinclude a redemption value of $20, a promotional value of $10, and anaccepted value of $10. The merchant device may be configured todetermine the party size (e.g., programmatically based on the locationdata of consumers and/or beacon identifiers or via consumer input).Next, the merchant device may be configured to divide final transactionprice 14012 (e.g., $121.60 as shown in FIG. 14) by the party size (e.g.,3), to arrive at preliminary payment shares of $40.53 for each of thethree consumers. The merchant device may be further configured to deductthe accepted value of $10 from the preliminary payment share of theconsumer sharing the promotion to arrive at a payment share amount of$30.53, which is shown at consumer payment share amount 1416 of paymentdetails 1406.

Returning to FIG. 10, at 1016, the merchant device may be configured todetermine payment share amounts of the one or more other consumersassociated with the point-of-sale order. The payment share amounts ofthe one or more other consumers may be determined based on the shareparameters and/or share mode selected by the sharing consumer. Wherefriendly mode is selected, the payment share amount of the one or moreother consumers may be determined by applying the promotional value ofthe promotion.

For example, the merchant device may be configured to deduct thepromotional value of $10 from the preliminary payment shares of the oneor more other consumers to arrive at a payment share amounts of $35.53for each of the one or more other consumers, shown at consumer friendpayment share amount 1418 of payment details 1406.

Returning to FIG. 10, in response to determining to not share thepromotion with other consumers at 1012, method 1000 may proceed to 1018,where the merchant device may be configured to determine payment shareamounts of other consumers without applying a portion of the redemptionvalue. For example, the merchant device may be configured to dividefinal transaction price 14012 (e.g., $121.60 as shown in FIG. 14) by theparty size (e.g., 3), to arrive at preliminary payment shares of $40.53for each of the three consumers. For the other consumers, the promotionis not applied such that each of the other consumers will pay thepreliminary payment share of $40.53.

FIG. 15 shows an example split-the-bill display 1500, in accordance withsome embodiments. The discussion above regarding split-the-bill display1400 may be applicable to split-the-bill display 1500. In split-the-billdisplay 1500, friendly mode ON/OFF toggle button 1402 has been toggledoff. Here, the merchant device may be configured to not share thepromotion and may further be configured to provide an indication of thepayment share amounts of other consumers without applying a portion ofthe redemption value, such as the payment share amount of $40.53 shownat consumer friend payment share amount 1504.

At 1020, the merchant device may be configured to determine a paymentshare amount of the consumer by applying the redemption value of thepromotion. For example, redemption value 1212 of $20 may be deductedfrom the preliminary payment share of $40.53 for the non-sharing,promotion redeeming consumer to arrive at a payment share amount of$20.53, as shown at consumer payment share amount 1506.

Returning to 1008, in response to determining to not redeem a promotion,method 1000 may proceed to 1022, where the merchant device may beconfigured to determine payment share amounts of the consumersassociated with the point-of-sale order without promotion redemption.For example, the merchant device may be configured to divide finaltransaction price 14012 of $121.60 (e.g., as shown in FIG. 14) by theparty size 1414 of 3, to arrive at payment amount shares of $40.53 foreach of the three consumers.

At 1024, the merchant device may be configured to provide the paymentshare amounts to one or more consumer devices associated with thepoint-of-sale order. For example, the payment share amounts may beprovided via one or more of split-the-bill displays 1400 and/or 1500,among other things (e.g., text, email, etc.).

At 1026, the merchant device may be configured to facilitate financialtransactions for the payment share amounts. The discussion at 812-814 ofmethod 800 may be applicable at 1026. The financial transactions may beperformed using any suitable technique including cash, credit card,debit card, etc. In some embodiments, payments may be performed via theconsumer device and/or associated consumer account. For example, themerchant device may be configured to facilitate the financialtransaction for the consumer based on the consumer selecting pay button1508 in split-the-bill display 1500. Method 1000 may then proceed to1028 and end.

CONCLUSION

Many modifications and other embodiments will come to mind to oneskilled in the art to which these embodiments pertain having the benefitof the teachings presented in the foregoing descriptions and theassociated drawings. For example, the discussion herein regardingdine-in restaurants may be extended to other types of merchants in whichconsumers gather and/or are served in groups at the merchant shop.Therefore, it is to be understood that embodiments and implementationsare not to be limited to the specific example embodiments disclosed andthat modifications and other embodiments are intended to be includedwithin the scope of the appended claims. Although specific terms areemployed herein, they are used in a generic and descriptive sense onlyand not for purposes of limitation.

1-22. (canceled)
 23. An apparatus for programmatically facilitating ashared payment, the apparatus comprising at least one processor and atleast one memory including computer program code, the at least onememory and the computer program code configured to, with the at leastone processor, cause the apparatus to: initiate broadcast of a beaconidentifier from a communication beacon, the communication beaconcomprising a first consumer device of a stable spatial cluster ofconsumer devices; receive one or more indications from at least oneother consumer device of the stable spatial cluster of consumer devicesin response to the broadcasted beacon identifier; receive apoint-of-sale order; associate consumer account records associated withthe first consumer device and the at least one other consumer device ofthe stable spatial cluster of consumer devices with the point-of-saleorder; determine, based on at least the point of sale order, a paymentshare amount associated with each of the consumer account records; andfinalize the point-of-sale order by facilitating a payment for eachpayment share amount from a respective consumer account of the consumeraccount records.
 24. The apparatus of claim 23, wherein receiving thelocation data from the plurality of consumer devices comprises trackingrespective locations of the plurality of consumer devices within amerchant shop over a predetermined period of time.
 25. The apparatus ofclaim 23, wherein upon receiving a respective indication from arespective consumer device of the stable spatial cluster of consumerdevices the respective consumer device is able to move within a merchantshop and remain associated with the stable spatial cluster of consumerdevices.
 26. The apparatus of claim 23, wherein the point-of-sale orderincludes one or more unclaimed items, and wherein a portion of unclaimedcosts associated with the one or more unclaimed items is automaticallyadded to the payment share amount associated with each of the consumeraccount records.
 27. The apparatus of claim 23, in an instance the firstconsumer device serving as the communication beacon for the stablespatial cluster of consumer devices is determined to have moved, asecond consumer device from the other consumer devices of the stablespatial cluster of consumer devices is selected to serve as a newcommunication beacon.
 28. The apparatus of claim 23, wherein thecommunication beacon is configured to generate a mapping of real-worldlocations with a merchant shop.
 29. The apparatus of claim 23, whereinfinalizing the point-of-sale order further comprises receiving eachpayment for each payment share amount.
 30. The apparatus of claim 23,wherein the selection of the first consumer device of the stable spatialcluster of consumer devices to serve as the communication beaconcomprises registering the first consumer device with a Bluetooth LEcharacteristic that identifies the consumer device as the leader of thepoint-of-sale order.
 31. A non-transitory computer readable storagemedium comprising instructions for programmatically facilitating ashared payment, when executed by a processor, cause an apparatuscomprising at least one processor and at least one memory to: receivelocation data from a plurality of consumer devices; identify a stablespatial cluster of consumer devices from the plurality of consumerdevices based on the location data; select a first consumer device ofthe stable spatial cluster of consumer devices to serve as acommunication beacon; initiate broadcast of a beacon identifier from thecommunication beacon; receive one or more indications from otherconsumer devices of the stable spatial cluster of consumer devices inresponse to the broadcasted beacon identifier; retrieve consumer accountrecords associated with the first consumer device and the other consumerdevices of the stable spatial cluster of consumer devices; receive apoint-of-sale order; associate the consumer account records with thepoint-of-sale order; determine a transaction price for the point-of-saleorder; determine, based on at least the transaction price, a paymentshare amount associated with each of the consumer account records; andfinalize the point-of-sale order by facilitating a payment for eachpayment share amount from a respective consumer account of the consumeraccount records.
 32. The non-transitory computer readable storage mediumof claim 31, wherein receiving the location data from the plurality ofconsumer devices comprises tracking respective locations of theplurality of consumer devices within a merchant shop over apredetermined period of time.
 33. The non-transitory computer readablestorage medium of claim 31, wherein upon receiving a respectiveindication from a respective consumer device of the stable spatialcluster of consumer devices the respective consumer device is able tomove within a merchant shop and remain associated with the stablespatial cluster of consumer devices.
 34. The non-transitory computerreadable storage medium of claim 31, wherein the point-of-sale orderincludes one or more unclaimed items, and wherein a portion of unclaimedcosts associated with the one or more unclaimed items is automaticallyadded to the payment share amount associated with each of the consumeraccount records.
 35. The non-transitory computer readable storage mediumof claim 31, in an instance the first consumer device serving as thecommunication beacon for the stable spatial cluster of consumer devicesis determined to have moved, a second consumer device from the otherconsumer devices of the stable spatial cluster of consumer devices isselected to serve as a new communication beacon.
 36. The non-transitorycomputer readable storage medium of claim 31, wherein the communicationbeacon is configured to generate a mapping of real-world locations witha merchant shop.
 37. The non-transitory computer readable storage mediumof claim 31, wherein finalizing the point-of-sale order furthercomprises receiving each payment for each payment share amount.
 38. Thenon-transitory computer readable storage medium of claim 31, wherein theselection of the first consumer device of the stable spatial cluster ofconsumer devices to serve as the communication beacon comprisesregistering the first consumer device with a Bluetooth LE characteristicthat identifies the consumer device as the leader of the point-of-saleorder.
 39. A machine-implemented method for programmaticallyfacilitating a shared payment, comprising: receiving location data froma plurality of consumer devices; identifying a stable spatial cluster ofconsumer devices from the plurality of consumer devices based on thelocation data; selecting a first consumer device of the stable spatialcluster of consumer devices to serve as a communication beacon;initiating broadcast of a beacon identifier from the communicationbeacon; receiving one or more indications from other consumer devices ofthe stable spatial cluster of consumer devices in response to thebroadcasted beacon identifier; retrieving consumer account recordsassociated with the first consumer device and the other consumer devicesof the stable spatial cluster of consumer devices; receiving apoint-of-sale order; associating the consumer account records with thepoint-of-sale order; determine a transaction price for the point-of-saleorder; determining, based on at least the transaction price, a paymentshare amount associated with each of the consumer account records; andfinalizing the point-of-sale order by facilitating a payment for eachpayment share amount from a respective consumer account of the consumeraccount records.
 40. The machine-implemented method of claim 39, whereinreceiving the location data from the plurality of consumer devicescomprises tracking respective locations of the plurality of consumerdevices within a merchant shop over a predetermined period of time. 41.The machine-implemented method of claim 40, wherein upon receiving arespective indication from a respective consumer device of the stablespatial cluster of consumer devices the respective consumer device isable to move within a merchant shop and remain associated with thestable spatial cluster of consumer devices.
 42. The machine-implementedmethod of claim 39, wherein the point-of-sale order includes one or moreunclaimed items, and wherein a portion of unclaimed costs associatedwith the one or more unclaimed items is automatically added to thepayment share amount associated with each of the consumer accountrecords.